Skip to content

地址变换大题

十进制

  • 页号 = INT[逻辑地址页面长度]
  • 页内偏移量 = 逻辑地址 % 页面长度
  • 物理地址 = 页面始址 + 页内偏移量

例题

某作业的逻辑地址空间为 4 页(每页 2048 字节),页面影映像表如下表所示,求出逻辑地址 4865 所对应的物理地址。

页号块号
02
14
26
38

解法

页号 = 4865 / 2048 = 2

2 对应的物理块号是 6

页内偏移量 = 4865 % 2048 = 769

所以物理地址是 6 × 2048 + 769 = 13057

二进制例题

例 1:页表内容 0~7 依次为 03; 07; 0B; 11; 1A; 1D; 20; 22。计算页面大小为 1K 和 4K 时的逻辑地址 134D,需要转换为对应的物理地址。

解:

134D 转换为二进制:0001 0011 0100 1101

当 1K 时,也就是 210,页面大小占十位。0001 00 | 11 0100 1101

000100 转化为十进制,也就是 44 对应着 1A,而 1A 的二进制数是:01 1010,那这个替换成上面的位数,也就是 01 1010|11 0100 1101,转换为十六进制,所以就是 6B4D

当 4K 时,也就是 212,页面大小占十二位,0001 | 0011 0100 1101

0001 转换为十进制,也就是 1,对应着 07。把 07 转换为二进制,也就是: 0111,替换成上面的位数,也就是 0001 | 11 0100 1101,转换为十六进制,也就是 734D

所以结果分别是 6B4DH 和 734DH。

不含快表的地址变换图

含快表的地址变换图

求内存访问时间


例 2:磁盘块的大小为 1K,对于 540M 的硬盘,其文件分配表 FAT 需要占用多少存储空间?当硬盘容量为 1.2 G,FAT 需要占用多少空间?

对于 540M,用 540M1K=540K(个)

由于 512K < 540K < 1024K,所以我们取 1024K,也就是 220

8 位是一个字节,所以 20 位是 2.5 个字节。

FAT 表每个表目是 2.5 个字节,总共需要 540 个表目,所以就算 2.5×540K=1350K

对于 1.2G,用 1.2G1K=1.2M(个)

由于 1M<1.2M<2M,所以我们取 2M,也就是 221

8 位是一个字节,所以 21 位是 2.625 个字节。但必须是半字节的整数倍,所以是 3 个字节。 所以就是 3×1.2M=3.6M